package com.niit.session16.generic;
//如果一个类有参数的数据类型不确定，可以把这个类定义成泛型类
//在类名字后面加上<T> 这个T只是一个占位符，可以随便写，A,B,C都可以
public class Electrical<T> {
	private String model;
	private double price;
	private T t;
//	定义要给泛型方法，泛型占位符可以用在返回值类型，参数列表，也可以用在方法体内
	public <F> void show(F f) {
		System.out.println(f);
	}
//	泛型通配符，如果要限制一个泛型接收的数据类型，可以使用extends和super
//	extends限制只能接收某个类的子类
//	super只能接收某个类的父类
	public <G extends Number> void show1(G g) {
		System.out.println(g);
	}
	
	public Electrical(String model, double price, T t) {
		super();
		this.model = model;
		this.price = price;
		this.t = t;
	}
	public Electrical() {
		super();
	}
	public String getModel() {
		return model;
	}
	public void setModel(String model) {
		this.model = model;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public T getT() {
		return t;
	}
	public void setT(T t) {
		this.t = t;
	}
	@Override
	public String toString() {
		return "Electrical [model=" + model + ", price=" + price + ", t=" + t + "]";
	}
	
}
